home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / door / wa_137.zip / CONFIG.TXT < prev    next >
Text File  |  1992-09-26  |  20KB  |  498 lines

  1.  
  2.                    WIZARD'S ARENA -- RELEASE 1.37
  3.              (C) Copyright 1991,1992 by Douglas Summers
  4.  
  5.                             CONFIGURATION
  6.  
  7.  
  8. ──────────────────────
  9. THE CONFIGURATION FILE
  10. ──────────────────────
  11. Beginning in version 1.22, WIZARD'S ARENA will get its parameters
  12. from a text file rather than from the command line.  This file is
  13. named "CONFIG.WA".
  14.  
  15. Running the upgrade program will generate an initial CONFIG.WA, which
  16. you may then edit using any simple-ASCII text editor.  If none was
  17. made, then you should begin with a nice, blank one.
  18.  
  19. CONFIG.WA is a simple text file, made up of individual lines.  Each
  20. line is of the format "aaaa=bbbb" where "aaaa" is the name of some
  21. parameter and "bbbb" is the value to be assigned to it.  For example,
  22. the line
  23.  
  24.                 BBSNAME = The Truly Massive BBS
  25.  
  26. is used to set the name of the BBS to be "The Truly Massive BBS". The
  27. equals-sign may be preceded or followed by any number of spaces.  The
  28. line, as well, can have spaces before the parameter-name and after
  29. the last character of the value.  Such spaces will be ignored. The
  30. values are case-insensitive:  BUT THE EXCEPTION IS THE BBS NAME,
  31. which IS case-sensitive.
  32.  
  33. You'll note that a lot of the configuration options are related to
  34. error-correction.  This doesn't mean that the game is particularly
  35. flimsy;  they're mostly stuff I found useful in developing/debugging
  36. and saw some real-world use for.
  37.  
  38.  
  39. ───────────────────────────
  40. GENERALLY-AVAILABLE OPTIONS
  41. ───────────────────────────
  42.  
  43.     BBSNAME
  44.     ───────
  45.     This sets the name of the BBS.  You MUST have this one, and,
  46.     unlike all the others, is case-sensitive.  Please, please note
  47.     that the name, once you've registered, must remain fixed.
  48.     Changing it will invalidate your registration, and you'll have
  49.     to contact me give you a new registration sequence.
  50.  
  51.  
  52.     DEBUG
  53.     ─────
  54.     This forces extensive debugging information to be collected.
  55.     DON'T USE THIS UNLESS YOU REALLY NEED IT.  There is no built-in
  56.     method to clean up the huge ERRORS.OUT file that will be
  57.     generated.  Turn this on with "DEBUG = Y" -- anything else means
  58.     debugging is off.
  59.  
  60.  
  61.     REMOTECOLOR
  62.     ───────────
  63.     This is used to set the color the user's screen is set to
  64.     when the program terminates. There are 16 possible settings:
  65.     BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, DINGY
  66.     (lo-intensity white), GRAY (hi-intensity black), HIBLUE,
  67.     HIGREEN, HICYAN, HIRED, HIMAGENTA, YELLOW and WHITE.
  68.  
  69.  
  70.     LOCALCOLOR
  71.     ──────────
  72.     Like REMOTECOLOR, but applies to the local terminal.
  73.  
  74.  
  75.     PARANOID
  76.     ────────
  77.     Used to disable the "backdoor" functions.  These functions are
  78.     debugging aids that the author thought might be handy to leave
  79.     in, because they can be used to perform a certain amount of in-
  80.     situ diagnosis.
  81.     They are available as unlisted commands.  To see them, type "&"
  82.     for your action; nothing will happen; then enter one of the
  83.     following:
  84.  
  85.         "M" shows memory available
  86.         "E" dumps out the error log
  87.         "S" prints out certain game statistics
  88.         "K" echoes back key-codes
  89.  
  90.     There aren't any others.  Unless you're REALLY, REALLY afraid
  91.     that this information seriously compromises your BBS, you might
  92.     want to leave them available in the event a problem DOES occur.
  93.     Turn this on with "PARANOID = Y" -- anything else means that
  94.     paranoia is off (the functions are available).
  95.  
  96.  
  97.     PORT
  98.     ────
  99.     If you have nonstandard comm port or are using a fossil driver,
  100.     you can tell the game about it with the PORT parameter.  The
  101.     format for this parameter is: "PORT = aaa:i", where "aaaa" is
  102.     the base address and "i" is the interrupt.  For example,
  103.     "PORT = 02F8:3" sets the system to use a com-port whose base
  104.     address is 02F8 and which uses IRQ 3.
  105.     For fossil drivers, use "PORT = F:n"  where "n" is the number
  106.     of the com-port to use the fossil driver on.
  107.  
  108.  
  109.     DOORFILE
  110.     ────────
  111.     Gives the full path-and-filename of the BBS's door-information
  112.     file.  This parameter can be overridden by the command-line, but
  113.     if no parameter is given there, then this is the file used.
  114.  
  115.  
  116.     SEMAPHORE
  117.     ─────────
  118.     WIZARD and WA-UTIL make a special semaphoring file to prevent
  119.     either program from running while the other is active.  If the
  120.     various nodes of a LAN BBS have their real-time clocks seriously
  121.     out-of-sync, the technique employed becomes useless.  If that
  122.     is the case, set semaphoring off via a "SEMAPHORE = NO" line,
  123.     and handle such protection in your batch file.
  124.  
  125.   
  126. ───────────────────────────────────────────
  127. OPTIONS AVAILABLE ONLY TO REGISTERED SYSOPS
  128. ───────────────────────────────────────────
  129. After you've played the game and been vastly impressed by the
  130. sheer genius of it, you can send me money.  I'd like that.
  131. (The SYSOP.TXT file gives details on how much and where; for now,
  132. I'll take it as read that you've done that.)
  133.  
  134. What you'll get back for your hard-earned cash is an eight-digit
  135. registration code.  You should put it in your CONFIG.WA file,
  136. where the game can find it and reward you for your generosity.
  137.  
  138. You will, at that point, have access to a number of other parameters
  139. which will allow you a fair amount of customization.
  140.  
  141.  
  142.     APDIV, APMULT
  143.     ─────────────
  144.     Every creature in the game -- monsters and players alike -- 
  145.     receive a certain number of Action Points (APs) every day.
  146.     These determine how much a creature can do; every action
  147.     (with only 1 or 2 exceptions) costs APs, and when a creature
  148.     uses up its APs, it has to stop for the day.
  149.     These two parameters help determine how many APs everyone gets.
  150.     The process is:
  151.  
  152.         If a creature has an Agility of less than (or equal to)
  153.         15, it gets a number of APs equal to its Agility rating.
  154.  
  155.         If its Agility is 16 or more, it gets 15 AP, plus a certain
  156.         number determined by this formula:
  157.  
  158.                  ((Agility - 15) * APMULT) / APDIV
  159.  
  160.     For example, let's say you've set up "APMULT = 2" and "APDIV = 3".
  161.     A creature with an agility of 5 gets 5 AP (and is pretty much a
  162.     sitting duck).  Another creature, with an Agility of 47, will get
  163.  
  164.                     ((47 - 15) * 2) / 3 = 21 AP.
  165.  
  166.     Why would you want to do this?  If we simply let the number of AP
  167.     equal the Agility rating, a player could quickly get to a rating
  168.     of 50 or more -- which would allow him a great many attacks, if
  169.     he didn't have to move far to get to his target.  If his target
  170.     is a monster, that's not so bad -- but if its a player, it isn't
  171.     really fair.  The other player could be taken completely unawares
  172.     and be destroyed by someone he didn't even know was there.  In a
  173.     sense, these values set the "dangerousness" of the game: the degree
  174.     to which a player must take precautions against unexpected attacks.
  175.  
  176.  
  177.     MONSTERSPEED
  178.     ────────────
  179.     If you want the players to be mobile, but not the monsters, then
  180.     simply setting APMULT high won't really accomplish what you want.
  181.     The monsters will also be fast -- and if one happens to "pop in"
  182.     adjacent to a player, he could get in a great many whacks before
  183.     the player has a chance to do anything about it.
  184.     The MONSTERSPEED parameter determines the rate at which the
  185.     monsters expend AP to do things.  For example, if the MONSTERSPEED
  186.     is 0, it costs them 5 times as many AP to do anything as it does
  187.     the players -- which means that they're slow and don't attack
  188.     often.  Setting it to 9 makes them about twice as mobile as the
  189.     players -- and very dangerous.  (It can be set all the way to 20).
  190.     If you want the players to focus on each other, set MONSTERSPEED
  191.     low; if you want them to become monster-obsessed, set it high.
  192.  
  193.  
  194.     ABSENCES
  195.     ────────
  196.     The game only allows 64 players.  If players try the game once,
  197.     and never come back, then their player-records would sit around
  198.     forever.  The game, to get around this, counts the number of
  199.     "absences" a player has (the number of days since he last played).
  200.     If that number exceeds the ABSENCES value, his character suffers
  201.     a heart attack and leaves a corpse on the map, and his player-
  202.     record is made available for the use of other people.  Setting
  203.     this value low is probably unfair;  setting it too high might cause
  204.     the clogging earlier mentioned.  The default value of 14 seems
  205.     reasonable, but your circumstances might dictate something else.
  206.  
  207.  
  208.     TRAINCOST, TRAINSLOPE
  209.     ─────────────────────
  210.     Players gain experience by killing monsters (or other players).
  211.     They trade experience points (via the "Train" command) for 
  212.     higher characteristic values, or for spell proficiency.  This
  213.     has the net effect of making them more powerful.
  214.     By default, it always costs 100 XP to train.  These two parameters
  215.     allow you to change that.
  216.     TRAINCOST determines the number of XP necessary to train the first
  217.     time.  Each successive training costs the same amount, multiplied
  218.     by 1% of the TRAINSLOPE value. an example will make that clearer.
  219.     Lets say you've set "TRAINCOST = 50" and a "TRAINSLOPE = 250".
  220.     A player will need
  221.  
  222.                           50 XP to train the 1st time,
  223.              50 * 2.50 = 125 XP to train the 2nd time,
  224.             125 * 2.50 = 312 XP to train the 3rd time,
  225.             312 * 2.50 = 780 XP to train the 4th time,
  226.  
  227.     and so on.  The net effect is to make it harder and harder to
  228.     train, so that players do not too quickly become massively
  229.     powerful.  This particular TRAINSLOPE value, though is much too
  230.     steep.  It was chosen as an example only.  I more reasonable
  231.     value might be "TRAINCOST = 50" and" TRAINSLOPE = 110":
  232.  
  233.                              50 XP to train the 1st time,
  234.             50 * 1.10 =  55 XP to train the 2nd time,
  235.             55 * 1.10 =  60 XP to train the 3rd time,
  236.             60 * 1.10 =  66 XP to train the 4th time, and so on.
  237.  
  238.     It will never cost more than 20000 XP to train.  Players begin
  239.     with an XP allotment of eight times the TRAINCOST value.
  240.  
  241.  
  242.     MONSTERPROB, OBJECTPROB
  243.     ───────────────────────
  244.     The daily maintenance routines put out monsters and random objects
  245.     like swords and shields.  Each space on the map is examined,
  246.     and may have a monster or object put into it if it is already
  247.     empty (and if the type of the terrain permits).  The probability
  248.     each space has of generating a monster is given by MONSTERPROB;
  249.     the probability of generating an item is given by OBJECTPROB.
  250.     Both are expressed in "chances per 10000" form.
  251.     For example, lets say you have set "MONSTERPROB = 80" and 
  252.     "OBJECTPROB = 100".  This means that each empty space has a 0.8%
  253.     chance of getting a monster each day; a space that doesn't get a
  254.     monster has a 1.0% chance of getting an object.
  255.     These probabilities might not sound like much, but over the whole
  256.     map, they add up.  The map is (at present) 100 x 50 -- the settings
  257.     indicated would generate about 40 monsters PER DAY -- and about 
  258.     50 objects.
  259.     There is an added complication, however: not all of the map is
  260.     necessarily given a chance to generate.  Only the areas around the
  261.     players can generate.  This keeps huge numbers of monsters and
  262.     objects from being generated in unvisited rooms and hallways,
  263.     thereby clogging the system.
  264.  
  265.  
  266.     MAGICPROB
  267.     ─────────
  268.     This gives the probability (in chances per 10000) that a given
  269.     object dropped during daily maintenance will be enchanted.  It
  270.     defaults to zero, so non-registered sysops never get this.
  271.              
  272.  
  273.     EXTERMINATION
  274.     ─────────────
  275.     Monsters that are far away from any player are pretty much useless.
  276.     They wander around, taking up precious time during the daily
  277.     maintenance and no-one would ever miss them if they disappeared.
  278.     So the system may decide to simply erase them.  It will do so a
  279.     certain    percentage of the time, as given by the EXTERMINATION
  280.     parameter.
  281.     It is expressed in 10ths-of-a-percent form, so an "EXTERMINATION =
  282.     250" gives each such "lonely" monster a 25% chance of being snuffed
  283.     out each day.  Monsters Controlled by players, and those under
  284.     spells, and those carrying "interesting" items, are exempt from
  285.     this form of extermination.
  286.  
  287.  
  288.     CACHE
  289.     ─────
  290.     The game internally caches certain database operations for reasons
  291.     of efficiency.  If the game is running a little slow on your BBS,
  292.     try setting the this option to higher values.  (It isn't a simple
  293.     number-of-kilobytes measure).  Experimentation will probably pay off,
  294.     and can't hurt you.  Try "CACHE = 300" for best results. If the
  295.     system can't allocate that much (it would take about 64k), then
  296.     it will automatically downscale the cache and try again.
  297.     I've found that this doesn't make as much difference as one might
  298.     hope; there's roughly a 30% speedup with "CACHE = 300" (which is the
  299.     maximum).  A REAL disk cache would make a LOT more difference.
  300.  
  301.  
  302.     TIMEALLOWED
  303.     ───────────
  304.     Allows you to set the maximum time (per day) that a player can stay
  305.     in the game.    For the unregistered sysops, that number is equal to
  306.     the players' total remaining time on the BBS.  For registered sysops,
  307.     it is the lower of that value and the value provided with this
  308.     option.  (Multiple entrances to the door will NOT allow the player
  309.     more time -- it adds up).  I don't think this one will matter much
  310.     to most people, since it seems that a typical "session" of WIZARD'S
  311.     ARENA is not very long.  Still, if you want to limit your players
  312.     to only 5 minutes, use "TIMEALLOWED = 5".
  313.  
  314.  
  315.     HELLOMSG
  316.     ────────
  317.     If you want to send a short message to all the players as they
  318.     log onto the game, you can assign one with the HELLOMSG parameter.
  319.     Simply make a line like the following:
  320.  
  321.          HELLOMSG = Your sysop sends you greetings, mortal.
  322.  
  323.     and the user, after seeing his mail will see that on in the
  324.     text-area of the screen, just before the "You are in Wizard's
  325.     Arena" line.  You could, for example, use this to remind non-
  326.     registered users that they might like to register.
  327.  
  328.  
  329.     AUTOSAVE
  330.     ────────
  331.     Setting this parameter on (i.e., "AUTOSAVE = Y") will cause the
  332.     game to back up the databases before the game, and, if an error
  333.     occurs, to restore from this backup when the next player logs
  334.     in.  This won't obviate all errors -- some types of error might
  335.     cause the game to terminate OK but leave the databases in a bad
  336.     state, for example.  It by no means replaces regular backups.
  337.  
  338.  
  339.      REGISTRATION
  340.      ────────────
  341.     Sets the key sequence -- see SYSOP.TXT for details on registration.
  342.  
  343.  
  344.      STARTBONUS
  345.      ──────────
  346.     A player is given a certain number of extra AP on the first day
  347.     he's in the game.  The default is 10;  this option lets you change
  348.     that value.  Setting it higher lets new players move around more,
  349.     explore farther and play longer on their first move, which lets
  350.     them have a greater chance of survival.
  351.  
  352.  
  353.      AUTOVALIDATE
  354.      ────────────
  355.     When a player enters the game after another player has bombed
  356.     out, the system will try to fix the databas. The map, for example,
  357.     can be corrected from a copy kept of the original map.  If a
  358.     persistent problem comes up, you can set this option on (via
  359.     "AUTOVALIDATE = Y") to force validation even if the system hasn't
  360.     bombed out.
  361.  
  362.  
  363.      FRATERNITY
  364.      ──────────
  365.     You can disallow fraternity membership to your players by setting
  366.     "FRATERNITY = N".  The idea here is that if you maintain seperate
  367.     configurations for your registered and unregistered users, it
  368.     becomes possible to only allow registered users to join frats.
  369.     By default, "FRATERNITY = Y", meaning that players by default
  370.     are able to join frats.
  371.  
  372.  
  373.      MIDNIGHT
  374.      ────────
  375.     The game uses the computer's real-time clock to determine if
  376.     daily maintenance should be run.  This is perfectly reasonable,
  377.     unless you do the maintenance off-line at some hour other than
  378.     midnight.  If this is the case, a user who logs in AFTER midnight
  379.     but BEFORE your off-line processing will trigger the daily
  380.     maintenance.
  381.     You can change this by telling the game never to perform daily
  382.     maintenance before a certain time of day.  If, for example,
  383.     your off-line stuff happens at 4:30, you might set "MIDNIGHT=4:45"
  384.     (to allow some leeway).  The WA-UTIL program will IGNORE this
  385.     parameter -- it is assumed that the time you call WA-UTIL is
  386.     when you want the maintenance to occur.
  387.  
  388.  
  389.     FREEMOVE
  390.      ────────
  391.     For sysops who like a more wide-open game, movement can be made
  392.     free (for players).  By setting "FREEMOVE = Y", all players
  393.     (but not monsters) will be allowed to move as far as they like
  394.     each day.
  395.  
  396.  
  397.     MAPPING
  398.      ───────
  399.     If there is a shortage of RAM, sysops can turn the MAPPING
  400.     feature off.  This will only save about 1K, though.
  401.  
  402.  
  403.     SPELLTHRESHOLD
  404.     ──────────────
  405.     If spell "A" is a prerequisite for spell "B", then a player
  406.     must have a proficiency of SPELLTHRESHOLD with spell "A" to
  407.     study spell "B".  By default, the value is 80.
  408.  
  409.     
  410.     GARBAGE
  411.     ───────
  412.     This parameter gives the percentage chance for a "generic"
  413.     item to be cleaned up (destroyed and removed from the map).
  414.     Items will only be destroyed if they are not carried, and
  415.     if they have no spells on them.  The percentage chance is
  416.     per day, per item and defaults to 0.  If your map tends to
  417.     get cluttered with swords and shields and whatnot, set this
  418.     parameter higher (to 10 or even 20, for example).
  419.  
  420. ──────────────
  421. A FURTHER NOTE
  422. ──────────────
  423. Monsters move entirely during daily maintenance.  So setting
  424. MONSTERSPEED high when you have a lot of monsters running around will
  425. make the daily maintenance go slowly -- perhaps several minutes.  The
  426. same caveat applies to the APMULT and APDIV parameters: if monsters
  427. have a lot of AP to spend, they'll take a little longer to spend it. 
  428. So experiment around with good trade-offs between the speed of your
  429. system and the effects you want to produce.
  430.  
  431.  
  432. ────────────
  433. THE DEFAULTS
  434. ────────────
  435. Your CONFIG.WA file MUST specify a BBSNAME.  The REGISTRATION
  436. parameter is only meaningful if you've bought a registration sequence
  437. from the author.  By default, DOORFILE isn't defined, which means
  438. that the door-information file must be specified on the
  439. command-line.  Also, the PORT parameter is not defined, which means
  440. that comm-port info is derived from the door-information file.
  441.  
  442. The other parameters default as follows:
  443.  
  444.  
  445.     DEBUG            = N
  446.     REMOTECOLOR        = WHITE
  447.     LOCALCOLOR        = WHITE
  448.     PARANOID        = N
  449.     APDIV            = 2
  450.     APMULT            = 1
  451.     ABSENCES        = 14
  452.     TRAINCOST        = 100
  453.     TRAINSLOPE        = 100
  454.     MONSTERPROB        = 50
  455.     OBJECTPROB        = 60
  456.     MAGICPROB        = 0
  457.     MONSTERSPEED    = 2    
  458.     TIMEALLOWED        = 60    
  459.     EXTERMINATION    = 250
  460.     AUTOSAVE        = Y
  461.     STARTBONUS        = 20
  462.     AUTOVALIDATE    = N
  463.     SEMAPHORE        = Y
  464.     FRATERNITY        = Y
  465.     MAPPING            = Y
  466.     SPELLTHRESHOLD    = 80
  467.     GARBAGE         = 0
  468.  
  469. A sysop who wishes to favor his registered users over the unregistered
  470. ones might set up two files, one named REG.CFG and the other named
  471. UNREG.CFG.
  472.  
  473. For example, REG.CFG might contain:
  474.  
  475.     TRAINCOST        = 100
  476.     TRAINSLOPE        = 100
  477.     TIMEALLOWED      = 60 
  478.     BBSNAME              = The Example BBS
  479.     REGISTRATION     = 55555555
  480.  
  481. and UNREG.CFG might have:
  482.  
  483.     TRAINCOST        = 100
  484.     TRAINSLOPE        = 110
  485.     TIMEALLOWED      = 10 
  486.     BBSNAME              = The Example BBS
  487.     REGISTRATION     = 55555555
  488.     HELLOMSG         = You should send your sysop some money, scumbag.
  489.     MAPPING         = N
  490.  
  491. He could then arrange his batch files so that, for registered users,
  492. REG.CFG is copied over to CONFIG.WA before WIZARD is executed.
  493. Obviously UNREG.CFG would be copied to CONFIG.WA for unregistered
  494. users.  The net effect is that registered users have an easier time
  495. acquiring power, and have longer to play each day.  He also would
  496. not be abused every time he came into the game.
  497.  
  498.